<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 *  原型 protype
			 * 	我们所创建的每一个函数，解析器会向函数中添加一个属性protype
			 * 		这个属性是一个对象，这个对象就是所谓的原型对象
			 * 	原型对象相当于一个公共空间，所有 同一个类的实例化都可以访问到这个原型对象，
			 * 		我们可以将对象中共有的内容，统一设置到原型对象中
			 * 	
			 * 	当我们访问对象的一个属性或者方法的时候，它会先在自身中寻找，如果有直接使用
			 * 		如果没有则会去原型对象中寻找，如果找到则直接使用
			 * 
			 * 	以后我们创建构造函数时，可以将这些对象共有的属性和方法，统一添加到构造函数的原型对象中
			 * 		这样不用分别为每一个对象添加，也不会影响全局作用域，就可以使对象具有这些属性和方法了
			 *  
			 */
			function Person(){
				
			};
			// console.log(Person.prototype); --> Object
			
			// 向原型对象中添加属性
			Person.prototype.a = 123;
			// 向原型对象中添加方法
			Person.prototype.func = function(){
				alert('哈哈')
				
			};

			var per1 = new Person();
			console.log(per1.a)
			per1.func()
			
			var per2 = new Person();
			per2.a = '我是per2中的123';
			console.log(per2.a)
			per2.func()
			
			
			
			
			
		</script>
	</head>
	<body>
	</body>
</html>
